import request from "@/utils/request";
import * as MVType from "./type";

const apiPath = {
  all: "/mv/all",
  url: "/mv/url",
  first: "/mv/first",
  comment: "/comment/mv",
};
/**
 * 全部 mv
 * @description 说明 : 调用此接口 , 可获取全部 mv
 * @param {Number} params.limit: 取出数量 , 默认为 30 `可选`
 * @param {Number} params.offset: 偏移数量 , 用于分页 , 如 :( 页数 -1)*50, 其中 50 为 limit 的值 , 默认 为 0 `可选`
 * @param {Number} params.order: 排序,可选值为上升最快,最热,最新,不填则为上升最快 `可选`
 * @param {Number} params.area: 地区,可选值为全部,内地,港台,欧美,日本,韩国,不填则为全部 `可选`
 * @param {Number} params.type: 类型,可选值为全部,官方版,原生,现场版,网易出品,不填则为全部 `可选`
 */
export function getAllMVList(params: MVType.AllMVListParam) {
  return request({
    url: apiPath.all,
    method: "get",
    params,
  });
}

/**
 * 最新 mv
 * @description 说明 : 调用此接口 , 可获取最新 mv
 * @param {Number} params.limit: 取出数量 , 默认为 30 `可选`
 * @param {Number} params.area: 地区,可选值为全部,内地,港台,欧美,日本,韩国,不填则为全部 `可选`
 */
export function getNewestMV(params: MVType.NewestMVParam) {
  return request({
    url: apiPath.first,
    method: "get",
    params,
  });
}

/**
 * mv 地址
 * @description 说明 : 调用此接口 , 传入 mv id,可获取 mv 播放地址
 * @param {Number | String} params.id: mv id `必选`
 * @param {Number} params.r: 分辨率,默认 1080,可从 /mv/detail 接口获取分辨率列表 `可选`
 */
export function getMvUrl(params: MVType.MVUrl) {
  return request({
    url: apiPath.url,
    method: "get",
    params,
  });
}

export function getComments(params: MVType.MVCommentParams) {
  return request({
    url: apiPath.comment,
    method: "get",
    params,
  });
}
